1. Field of the Invention
The present invention is concerned with the field of numerical analysis and more specifically relates to a method and device for generating a mesh for a region to be analyzed using numerical analysis.
2. Description of the Prior Art
In recent years, numerical analysis has been increasingly used as a method of simulating actual phenomena in order to increase the efficiency of product development. Together with the recent improvements in computer performance, numerical analysis methods have advanced in leaps and bounds, so that analysis of increasingly complex models has become possible.
Here, several methods, such as a finite differential method, a finite element method, a boundary element method, or an integral equation method, can be used for performing numerical analysis. The majority of these methods involve the generation of mesh for the object to be analyzed and, when necessary, the space surrounding it. The generation of mesh consists of the division of the region to be analyzed into elements which are defined by line segments or by triangles, quadrangles, tetrahedrons, pentahedrons or hexahedrons. Each element which forms the mesh (hereinafter, "mesh element") is expressed using nodes which can be the vertices or mid-points of the shapes which form the mesh elements. These mesh elements are expressed by first-, second- or higher-order functions, with it further being possible for mesh elements to be defined by boundaries which are defined by a plurality of curves or curved surfaces. This is to say, meshes are made up of groupings of mesh elements which are expressed using nodes, so that meshes are generated by generating the constituent mesh elements and nodes.
Once a mesh has been generated, physical property values and initial conditions for each mesh element in the mesh are supplied and the simultaneous equations which are necessary for numerical analysis are formed, such as by using boundary conditions. After this, numerical analysis is executed to solve these simultaneous equations, such as by finding a value for a lowest amount of energy in the system.
For the kind of numerical analysis described above, the generation of a mesh by dividing the object to be analyzed, its surrounding space and any proximate objects and their surrounding spaces (each of which is referred to as a "region") can be considered essential. For this reason, a number of techniques have been developed for the generation of such mesh. A first example is the division of the entire region using a uniform lattice, which is shown in FIG. 1. In the illustrated example, the upper part of the object is divided into a lattice of length 3.times.breadth 3.times.height 4 and the lower part of the object is divided into a lattice of length 5.times.breadth 5.times.height 3.
A second example is the division of the object to be analyzed into regions of a temporarily suitable size, in accordance with the shape of the object. This is shown in FIGS. 2A-2C. As shown in FIG. 2A, a model is formed in the shape of object to be analyzed 31, with region 32 for which the mesh is to be formed (hereinafter, such regions are called "mesh generation regions") being divided into region 33 which is surrounded by the line ABIH, region 34 which is surrounded by the line BCJI and region 35 which is surrounded by the line CGKJ, as shown in FIG. 2B. Here, a number of divisions for the line segments which form each region is set so that the nodes A-K are generated. Next, mesh elements, such as triangular element 36 surrounded by the line BCF and triangular element 37 surrounded by the line ABE, are generated based on the nodes. This is to say, in this second mesh generation method, nodes are generated according to a fixed process for the regions generated by suitably dividing the region to be analyzed to facilitate mesh generation, these generated nodes then being joined according to a fixed process to generate mesh elements. Accordingly, by temporarily generating regions by suitably dividing the region to be analyzed, nodes and mesh elements for these regions can easily be generated.
It should be noted here that in FIG. 2, the symmetry of the object to be analyzed 31 is such that, in order to reduce the necessary amount of calculation, a region which is only one quarter of the total size can be set as the mesh generation region. Also, when performing mesh generation, especially for analysis under the finite element method of electromagnetic fields or temperature for objects such as headphones or magnetic tape, there are many cases where it is also necessary to perform mesh generation for the region surrounding the object to be analyzed, such as region 38 shown in FIG. 2C, so that this surrounding space is also divided into regions.
As a third example, it is also possible to have mesh automatically generated by executing a program. In general, such methods generate mesh using an algorithm which is designed to reduce the errors which arise in numerical analysis due to differences in area or in the lengths of edges between mesh elements. This is achieved by generating mesh elements of triangular, quadrangular, tetrahedral or similar form whose edges are equal in length or as close in length as possible, which is to say mesh elements of non-elongated form.
Additionally, within such mesh generation methods, there are a number of techniques and methods for finely dividing the mesh where there is a sudden change in the object, such as in potential or in form. Similarly, there are a number of techniques and methods for displaying the calculated result on a display screen to assist the understanding of the user.
However, the first method which generates a uniform mesh for the entire region has great difficulty in generating a suitable mesh for objects to be analyzed which are of complex form, such as headphones, cylinders (of engines) or shafts, or for objects which contain complex clipped-out portions.
The second method where the user divides the object to be analyzed into a plurality of regions in accordance with its form has a drawback in that there is a great increase in the load of the user when, together with an increase in complexity of the object to be analyzed, there is a sudden increase in the number of regions into which the object is to be divided. Here, while the accuracy of numerical analysis generally increases with the fineness the mesh, there is a substantial increase in the load of calculation for such fine mesh. As a result, there are demands for the method to achieve the same high level of accuracy for the desired region with fewer mesh elements. Here, control is performed to ensure that the difference in sizes between adjacent mesh elements is not too extreme and that elongated mesh elements are not used. This means that the user has to exercise great care in dividing the region to be analyzed which makes great demands on the mesh generating skill of the user. In particular, when the object to be analyzed is of a complex three-dimensional form, it is extremely difficult for the user to appropriately divide the three-dimensional object into regions, generating a great workload for the user.
Also, there is the third method which automatically generates mesh using an algorithm which, for the sake of calculation accuracy, is designed not to generate elongated mesh elements. For this reason, depending on the geometric form of the object to be analyzed, when the length of one edge of the object to be analyzed is longer than the other edges, an algorithm which sets the length of the longer edge as the same as length of the other edges is automatically used. As a result, there are cases where unnecessarily fine mesh elements are generated over an unnecessarily large area. For mesh division for a three-dimensional form, an extremely large amount of calculation is necessary, and if the number of mesh elements is increased due to the nature of the mesh division algorithm, there will be an exponential increase in the necessary calculation time for numerical analysis. Also, when a method in which the nodes are generated beforehand and mesh elements are automatically generated from these nodes is used, there is a preference for generating non-elongated mesh elements, so that there are cases when there are great differences in size between adjacent mesh elements.
For the reasons given above, it can be seen that suitably executing mesh division for a complex object to be analyzed and verifying the results takes a great deal of time and requires a fair amount of skill. Here, it is often the case that analysis is repetitively performed for an object to be analyzed with modifications to its form or conditions, so that there is great demand for an improved technique for mesh division and mesh element generation.